#pragma once

#include "LineCapPlug.h"
#include "DDAutoDelete.h"
#include "DDSafeDelete.h"

//#define _DKQ_TEST

#ifdef _DKQ_TEST
#include "DDLogInfo.h"
#endif

class xtCapMan
{
public:
	xtCapMan(void);
	~xtCapMan(void);

public:
	int SearchCapture();
	int GetCaptureList(zkCapDevDesc **ppDescs,int &nCount);
	int SelectCapture(zkCapDevDesc *pDesc);


protected:
	int LoadCaptureType();
	int LoadPlug( char *pFileName );
	int InitPlug();


private:
	void SetTestCapturePartAH();

	
protected:
	DDCriticalSection m_CapSect;

protected:
	BOOL              m_bLoadCap;
	int               m_nDevCount;
	zkCapDevDesc      m_xDevDescs[DDCAPDEVCOUNT];
	

public:
	zkCapDevDesc m_xUseDevDesc;

	HINSTANCE    m_hPlugDll;
	LineCapPlug *m_pLineCapPlug;


private:
	char m_szPlugDir[MAX_PATH];


#ifdef _DKQ_TEST
public:
	DDLogInfo m_xLogInfo;
#endif

};
